This invention relates to defining and modifying business processes.
A business process can be described as a series of specific events in a chain of structured business activities performed by one or more organizational entities. The business process typically changes the state of some business related data and/or a product and generates some type of output. Examples of different types of business processes include receiving orders, invoicing, shipping products, updating employee information, setting a marketing budget, and so on. Business processes occur at all levels of an organization's activities and can include both events that a customer can see and events that are invisible to the customer.
Organizations and businesses often implement business process flows in computer systems, in order to increase the efficiency with which a business process is performed, and to minimize the risk of errors occurring in the course of performing the business process. Implementing business process flows in computer systems also typically makes the business process flow more efficiently and allows a larger volume of data, such as purchase orders, invoices, and so on, to be processed by the computer system in a time-efficient and low-cost manner, compared to a situation in which some or all parts of the business process are performed manually by individuals.
There is a wide range of commercially available software products for creating and managing business process flows. Some examples include: the BEA WebLogic Workshop product by BEA Systems of San Jose, Calif.; the Collaxa 2 product by Collaxa, Incorporated of Redwood Shores, Calif.; the WebSphere product by International Business Machines, Incorporated, of Somers, N.Y.; the Microsoft BizTalk Server product by Microsoft Corporation of Redmond, Wash.; and the Sun Web Service Choreography Interface (WSCI) Editor product by Sun Microsystems, Incorporated of Santa Clara, Calif.
Typically, multiple individuals are involved in the development of a single business process. For example a business analyst may define at a high level what a business process should look like. A developer may look at the business process from the viewpoint of making sure that all the systems involved in the business process get the necessary input so the systems can perform the necessary tasks involved in the business process. An information technology (IT) person may look at the business process from the viewpoint of determining whether the business process satisfies all the IT departments policies, for example, regarding security, and so on.
At present, there is typically no way for the individuals that are involved in the development of a business process to view only the particular aspects of the business process in which they are involved. It would thus be desirable to have a way to control what type of information is presented to different users, in order to facilitate the development of the business process. It would also be desirable to control what specific operations different users can perform on the business process in the development of the business process.